std::literals::chrono_literals:: operator""s
|
헤더 파일에 정의됨
<chrono>
|
||
|
constexpr
std::
chrono
::
seconds
operator "" s ( unsigned long long secs ) ; |
(1) | (C++14부터) |
|
constexpr
std::
chrono
::
duration
<
/*unspecified*/
>
operator "" s ( long double secs ) ; |
(2) | (C++14부터) |
초를 나타내는 std::chrono::duration 리터럴을 형성합니다.
목차 |
매개변수
| secs | - | 초 단위의 수 |
반환값
가능한 구현
constexpr std::chrono::seconds operator""s(unsigned long long s) { return std::chrono::seconds(s); } constexpr std::chrono::duration<long double> operator""s(long double s) { return std::chrono::duration<long double>(s); } |
참고 사항
이 연산자는 네임스페이스 std :: literals :: chrono_literals 에서 선언되며, 여기서 literals 와 chrono_literals 는 모두 인라인 네임스페이스 입니다. 이 연산자에 접근하려면 다음을 사용할 수 있습니다:
- using namespace std :: literals ,
- using namespace std :: chrono_literals , 또는
- using namespace std :: literals :: chrono_literals .
또한, 네임스페이스 std :: chrono 내에서 using namespace literals :: chrono_literals ; 지시문은 표준 라이브러리 에 의해 제공되므로, 프로그래머가 using namespace std :: chrono ; 를 사용하여 chrono 라이브러리 의 클래스들에 접근할 경우, 해당 리터럴 연산자들도 함께 표시됩니다.
std::string
또한
operator
""
s
를 정의하여
std::string
타입의 리터럴 객체를 나타내지만, 이것은 문자열 리터럴입니다:
10s
는 10초를 의미하지만,
"10"
s
는 두 문자로 이루어진 문자열입니다.
예제
#include <chrono> #include <iostream> int main() { using namespace std::chrono_literals; std::chrono::seconds halfmin = 30s; std::cout << "30초는 " << halfmin.count() << "초" " (" << halfmin << ").\n" "1분 1초는 " << (1min + 1s).count() << "초.\n"; std::chrono::duration moment = 0.1s; std::cout << "한 순간은 " << moment.count() << "초" " (" << moment << ").\n" "그리고 세 배는 " << (moment + 0.2s).count() << "초.\n"; }
출력:
30초는 30초 (30s). 1분 1초는 61초. 한 순간은 0.1초 (0.1s). 그리고 세 배는 0.3초.
참고 항목
|
새로운 duration을 생성
(
std::chrono::duration<Rep,Period>
의 public 멤버 함수)
|